<description><![CDATA[Force Editor is a tool for designing and testing force feedback effects in DirectInput. In order to use the application, you need to have at least one force-feedback device attached to the system. The program requires the Microsoft Foundation Classes 4.2 library.]]></description>
<description><![CDATA[The DirectX Error Lookup utility allows users to enter a numerical HRESULT and get back the string equivalent as well as its description.]]></description>
<folder>Samples\C++\Misc\dxerr\</folder>
<exefolder>Utilities\</exefolder>
<exe>dxerr.exe</exe>
<screenshot>dxerr.jpg</screenshot>
<projectfile6>dxerr.dsw</projectfile6>
<projectfile7>dxerr.sln</projectfile7>
<install common="false">
<reserved>dxerr9</reserved>
</install>
<language>C++</language>
<complexity>1500</complexity>
<keywords>
<keyword>dxerr</keyword>
<keyword>lookup</keyword>
<keyword>error</keyword>
<keyword>utility</keyword>
<keyword>utilities</keyword>
</keywords>
</sample>
<sample>
<name>DirectX Caps Viewer</name>
<dxarea>Direct3D</dxarea>
<type>utility</type>
<description><![CDATA[The DirectX Caps Viewer shows information for Direct3D devices and capabilities, DirectPlay connections, DirectInput devices and capabilities, DirectMusic ports and DirectSound capture devices and capabilities.]]></description>
<description><![CDATA[The Direct3D Spy utility (D3DSPY) is a tool that monitors function calls to the Direct3D API, and shows a representation of Direct3D's internal state. This is valuable when writing a Direct3D program, or trying to understand why it is behaving as it is. It can also be used to improve the performance of a Direct3D program by indentifying redundant or inefficient use of the API.]]></description>
<description><![CDATA[Performance Investigator for DirectX (PIX) for Windows is a tool designed to capture detailed performance information from a running application. This tool will help developers analyze the work done by the CPU and the GPU in order to pinpoint performance bottlenecks.
<description><![CDATA[The CLR Profiler includes a number of very useful views of the allocation profile, including a histogram of allocated types, allocation and call graphs, a time line showing GCs of various generations and the resulting state of the managed heap after those collections, and a call tree showing per-method allocations and assembly loads.]]></description>
<description><![CDATA[The Photoshop texture file converter is a file format plug-in to Adobe Photoshop to open or save texture files. The plug-in will also work with Jasc PaintShop Pro.]]></description>
<description><![CDATA[Files with the .x file name extension are used by Microsoft DirectX to store meshes, textures, animations, and other user-definable objects with a template hierarchy for data storage. DirectX has .x-file interfaces that provide a simple and safe way to import data into DirectX applications. These interfaces identify structures with unique identifiers (IDs), validate data layout, and provide data referencing and other intrinsic features. Included with the DirectX software development kit (SDK) is source code to build a .x-file exporter plug-in for 3DS MAX versions 4.0 through 5.1]]></description>
<description><![CDATA[Files with the .x file name extension are used by Microsoft DirectX to store meshes, textures, animations, and other user-definable objects with a template hierarchy for data storage. DirectX has .x-file interfaces that provide a simple and safe way to import data into DirectX applications. These interfaces identify structures with unique identifiers (IDs), validate data layout, and provide data referencing and other intrinsic features. Included with the DirectX software development kit (SDK) is source code to build a .x-file exporter plug-in for Maya versions 4.0 through 5.0]]></description>
<description><![CDATA[Masaki Kawase's Rthdribl sample demonstrates "Real-time High Dynamic Range Image-Based Lighting". DirectX 9.0 high-precision texture formats and version-2.0 of Pixel Shader represent real-time true HDR rendering.
Technical features of the demo are: True HDR (High-Dynamic Range) Rendering, IBL (Image-Based Lighting), Glare Generation (Afterimage, Bloom, Halo, Ghost, and Star), Automatic Exposure Adjustment, Iris shaped Depth of Field blur, Realistic Motion Blur, FSAA (Full-Scene Anti-Alias), Fresnel Effect (Specular Reflectance) etc. This URL link will redirect you to an external web site and is provided for informational purposes only. Microsoft makes no warranties, express or implied, with respect to this external web site or the information contained in it.]]></description>
<name>Coding4Fun: Building a Drum Machine with DirectSound</name>
<dxarea>DirectSound</dxarea>
<type>article</type>
<description><![CDATA[Join guest columnist Ianier Munoz as he builds a drum machine using the managed Microsoft DirectX libraries and C# to synthesize an audio stream on the fly.]]></description>
<description><![CDATA[DirectX 9.0 brings the first release of the Managed API for developing DirectX-based programs and games. Watch Tom Miller and Brian Benincasa talk about what Managed DirectX brings to the graphics programming arena.]]></description>
<name>Windows Installer for Game Developers</name>
<dxarea>Direct3D</dxarea>
<type>article</type>
<description><![CDATA[Find out how as a game developer you can use Windows Installer to install games on end-user machines. Windows Installer offers full support for a customized user interface, as well as for patching.]]></description>
<name>Presenting a Detailed Introduction to the DirectX High Level Shading Language</name>
<dxarea>Direct3D</dxarea>
<type>article</type>
<description><![CDATA[Find a number of example shaders and optimization strategies in this excerpt from the book "ShaderX2 - Introduction and Tutorials with DirectX 9." Authors Craig Peeper and Jason Mitchell present a detailed introduction to the Microsoft DirectX High Level Shading Language.]]></description>
<name>DirectX Slides from Game Developer Conference 2003</name>
<dxarea>Direct3D</dxarea>
<type>article</type>
<description><![CDATA[This download includes presentations given by the DirectX team at Game Developers Conference 2003. These include: How to Install Less and Play More, Direct3D Performance Tools Preview, Shader Management 101, Interactive Rendering with Smooth Area Lighting Models, Power Debugging with Microsoft Visual C++ and the DirectX extensions.]]></description>
<name>Best Practices for Game Installation and Maintenance</name>
<dxarea>Direct3D</dxarea>
<type>article</type>
<description><![CDATA[Dave Bartolomeo describes a set of best practices that can help reduce user frustration over the time taken to install a game, prevent unnecessary support calls, and allow users to start playing your game as quickly and painlessly as possible.]]></description>
<name>Taking It Higher with the High Level Shader Language</name>
<dxarea>Direct3D</dxarea>
<type>article</type>
<description><![CDATA[Kev Gee moves parts of the MSDN Shader Workshop to the Microsoft DirectX High Level Shading Language and demonstrates its advantages over the legacy of writing shaders in assembly. (14 printed pages)]]></description>
<description><![CDATA[Dave Aronson and Kris Gray summarize the effects framework in D3DX, an integral component of D3DX that offers developers a range of benefits by grouping sets of visual effects. (14 printed pages)]]></description>
<name>D3DX Meshes, Part 2: The Optimize Mesh Sample</name>
<dxarea>Direct3D</dxarea>
<type>article</type>
<description><![CDATA[Dave Aronson walks through key portions of the Optimize Mesh sample in the Microsoft DirectX 9.0 SDK, showing how to use the Microsoft Direct3DX (D3DX) mesh classes to make it easy to load, save, optimize, and draw meshes to the screen. (13 printed pages)]]></description>
<description><![CDATA[Dave Aronson gives an overview of the basic classes and methods for working with meshes in Direct3D using the D3DX library. The use of meshes allow for a standard way to represent and use data for 3-D geometry. This makes working with 3-D geometry easy, and can substantially increase the speed at which an object is drawn. (6 printed pages)]]></description>
<description><![CDATA[Philip Taylor continues to illustrate the usefulness of D3DX, turning to the various forms of texture support provided by the Microsoft Direct3D utility library, including mipmapped texture support, cube-map support, volume-texture support, bump-mapping support, and more. (17 printed pages)]]></description>
<description><![CDATA[Philip Taylor begins his exploration of D3DX, which provides meshes, effects and effects files, math support, texturing support, and more as a substantial time saver for developers. (10 printed pages)]]></description>
<name>The MSDN Shader Workshop, Part 3: The Pixel Shader Exercises</name>
<dxarea>Direct3D</dxarea>
<type>article</type>
<description><![CDATA[Philip Taylor concludes his coverage of the MSDN ShaderWorkshop with five final exercises that illustrate various usueful pixel shader tasks.]]></description>
<name>The MSDN Shader Workshop Application, Part 2: The Vertex Shader Exercises</name>
<dxarea>Direct3D</dxarea>
<type>article</type>
<description><![CDATA[Philip Taylor continues his tour through the MSDN ShaderWorkshop by working through the first six exercises, which expose some basic vertex shader concepts.]]></description>
<name>The MSDN Shader Workshop Application, Part 1</name>
<dxarea>Direct3D</dxarea>
<type>article</type>
<description><![CDATA[Philip Taylor introduces the MSDN Shader Workshop application, which is based on the application used in the Meltdown 2001 shader tutorial event. The Meltdown shader tutorial includes exercises for both vertex and pixel shaders, as well as solutions to the exercises.]]></description>
<description><![CDATA[Philip Taylor discusses per-pixel lighting, with an eye to explaining why pixel shaders are so important. In this article he discusses the basics of per-pixel lighting in addition to standard lighting models and custom lighting models.]]></description>
<name>Pixel Shaders, Part 1: An Introduction</name>
<dxarea>Direct3D</dxarea>
<type>article</type>
<description><![CDATA[Philip Taylor begins his coverage of pixel shaders by showcasing several basic pixel shaders and showing how they sync up with vertex shaders and streams.]]></description>
<name>Screensavers Redux: The DirectX 8.0 Screensaver Framework</name>
<dxarea>Direct3D</dxarea>
<type>article</type>
<description><![CDATA[Philip Taylor showcases a new screensaver framework for Microsoft DirectX 8.0. The DirectX 8.0 screensaver framework is full featured and goes far beyond the DirectX 7.0 SDK screensaver framework by providing test, configure, and run modes along with preview, password, and multi-monitor support.]]></description>
<name>Using Vertex Shaders, Part 2: Tweening 3-Way</name>
<dxarea>Direct3D</dxarea>
<type>article</type>
<description><![CDATA[Philip Taylor explores using vertex shader to perform character animation. The basic character animation technique presented is known as "tweening." This name derives from the process itself, in which character animation artists use an authoring tool and define several models in sequence for each action, for instance the action of running. Each model contains a pose of the action. The programmer reads the poses and generates intermediate, or "in-between" frames, using linear interpolation between the two sets of vertices.]]></description>
<description><![CDATA[Philip Taylor discusses vertex shaders in detail. Vertex shaders give developers fine-grained control over the vertex transformation and lighting pipeline and can be used as a substitute in DirectX 8 for the fixed-function transform and lighting pipeline]]></description>
<description><![CDATA[Philip Taylor presents the programmable pipeline, unarguably the most important new feature among a wealth of new features in DirectX 8.0 graphics.]]></description>
<name>The Simplification of DirectX 8.0 Graphics</name>
<dxarea>Direct3D</dxarea>
<type>article</type>
<description><![CDATA[Philip Taylor discusses the new features DirectX 8.0 graphics; this release simplifies many common tasks, including initialization, enumeration, device creation, presentation, lost devices/surfaces, and resource management.]]></description>
<description><![CDATA[The Play 3D Sound sample shows how to create a 3-D sound buffer and manipulate its properties. It is similar to the 3D Audio Sample but uses only the DirectSound API.]]></description>
<description><![CDATA[The AdjustSound sample shows how to create a DirectSound secondary buffer to play a WAV file, and how to change the parameters of the buffer.]]></description>
<description><![CDATA[The Feedback sample shows Force Feedback via devices that support it. You can observe how the forces feel when you move and twist the stick, rotate the throttle wheel, and press buttons in various combinations. You will need a force feedback input device for this sample.]]></description>
<description><![CDATA[This tutorial introduces the concept of matrices and shows how to use them. The Vertices sample project rendered 2-D vertices to draw a triangle. However, in this tutorial you will be working with transformations of vertices in 3-D. Matrices are also used to set up cameras and viewports.]]></description>
<description><![CDATA[The DxDiagOutput sample shows how to use the DxDiag COM interface by enumerating every child container and enumerating the properties on each child container.]]></description>
<description><![CDATA[The ReadFFE sample loads and plays all of the DirectInput Force Feedback effects in stored in a DirectInput effects file.]]></description>
<description><![CDATA[The Text3D sample shows how to draw 2D text and 3D text in a 3D scene. This is most useful for display stats, in game menus, etc.]]></description>
<description><![CDATA[The SoundFX sample shows how to use DMOs with DirectSound and how to manipulate effect parameters. It is similar to the DirectMusic AudioFX Sample but does not use an audiopath or any of the DirectMusic interfaces.]]></description>
<description><![CDATA[The ActionBasic sample is intended to be an introduction to action mapping, and illustrates a step by step approach to creating an action mapped application.]]></description>
<description><![CDATA[This sample demonstrates how to use PRTEngine, a precomputed radiance transfer (PRT) simulator that uses low-order spherical harmonics (SH). The sample also demonstrates how to use these results to accomplish dynamic light transport using a dynamic lighting environment with a vs_1_1 vertex shader.]]></description>
<description><![CDATA[This sample shows how to use the FragmentLinker class. Shader source code can be split into a series of shader fragments, which are compiled separately and linked together to form a complete shader; this linking stage is very efficient, making it suitable for runtime use. In this way a Direct3D application can custom-build an appropriate shader for the current graphics card. ]]></description>
<description><![CDATA[The ProgressiveMesh sample illustrates how to load and optimize a file-based mesh using the D3DX mesh utility functions. A progressive mesh is one in which the vertex information is stored internally in a special tree which can be accessed to render the mesh with any given number of vertices. This procedure is fast, so progressive meshes are ideal for level-of-detail scenarios, where objects in the distance are rendered with fewer polygons. For more info on D3DX, refer to the DirectX SDK documentation.]]></description>
<description><![CDATA[This sample shows how an Effect object can be compiled when the project is built and loaded directly as a binary file at runtime.]]></description>
<description><![CDATA[This sample demonstrates cubic environment-mapping with floating-point cube textures and high dynamic range lighting. DirectX 9.0's new floating-point textures can store color values higher than 1.0, which can make lighting effects more realistic on the environment-mapped geometry when the material absorbs part of the light. Note that not all cards support all features for the environment-mapping and high dynamic range lighting techniques.]]></description>
<description><![CDATA[This sample shows some of the effects that can be achieved using vertex shaders written in Microsoft Direct3D's High-Level Shader Language (HLSL). HLSL shaders have C-like syntax and constructs, such as functions, expressions, statements, and data types. A vertex shader looks very similar to a C function, and is executed by the 3D device once per every vertex processed to affect the properties of the vertex. Note that not all cards may support all the various features vertex shaders. For more information on vertex shaders, refer to the DirectX SDK documentation.]]></description>
<description><![CDATA[The EnhancedMesh sample shows how to use D3DX to load and enhance a mesh. The mesh is enhanced by increasing the vertex count.]]></description>
<description><![CDATA[This sample demonstrates some high dynamic range lighting effects using floating point textures. Integer texture formats have a limited range of discrete values, which results in lost color information under dynamic lighting conditions; conversely, floating point formats can store very small or very large color values, including values beyond the displayable 0.0 to 1.0 range. This flexibility allows for dynamic lighting effects, such as blue-shifting under low lighting and blooming under intense lighting. This sample also employs a simple light adaptation model, under which the camera is momentarily over-exposed or under-exposed to changing light conditions.]]></description>
<description><![CDATA[The ActionBasic sample is intended to be an introduction to action mapping, and illustrates a step by step approach to creating an action mapped application.]]></description>
<description><![CDATA[The ActionMapper sample is built upon the action mapping framework provided with the SDK. The program illustrates how this framework can simplify the bookkeepping required for an action mapped application.]]></description>
<description><![CDATA[The AdjustSound sample shows how to create a DirectSound secondary buffer to play a WAV file, and how to change the parameters of the buffer.]]></description>
<description><![CDATA[EffectEdit is a tool with which one can create and edit D3DX effect (*.fx) files and view the graphical result interactively. Changes to the effect file are compiled automatically and any compilation errors are shown in the 'Effect compilation results' pane. Note that not all .fx files are designed to work with EffectEdit, since they may require special vertex types or extra processing that is not done by the EffectEdit program.]]></description>
<description><![CDATA[The DIConfig code demonstrates the implementation of a configuration user interface based upon the DirectInput Mapper technology. This sample code is *very* complex, and is intended to be taken as a reference implementation more than a learning tool.]]></description>
<description><![CDATA[The Play 3D Sound sample shows how to create a 3-D sound buffer and manipulate its properties. It is similar to the 3D Audio Sample but uses only the DirectSound API.]]></description>
<description><![CDATA[The FFeedFileRead sample enumerates and plays all of the DirectInput Force Feedback effects in stored in a DirectInput effects file.]]></description>
<description><![CDATA[The DirectX Texture Tool allows users to easily create texture maps that use the new DXTn compression formats. Creating a DXTn-compressed texture is actually not that difficult to do: DirectDraw's Blt function can do the conversion for you. Advanced developers will probably want to write their own tools that meet their specific needs. But this tool provides useful basic functionality.]]></description>
<description><![CDATA[The CreateDevice tutorial is the first tutorial for using the new Direct3D interfaces for DirectX 9. It shows how to create a Direct3DDevice9 object.]]></description>
<description><![CDATA[The MultiMapper application demonstrates the DirectInput Mapper in a windowed application. The provided class allows multiple users to share action-mapped devices on the same computer.]]></description>
<description><![CDATA[The DeviceView sample shows how the DIDevImage framework provided with this SDK can be used to create a custom device configuration interface.]]></description>
<description><![CDATA[The OptimizedMesh sample illustrates how to load and optimize a file-based mesh using the D3DX mesh utility functions. For more info on D3DX, refer to the DirectX SDK documentation.]]></description>
<description><![CDATA[The ProgressiveMesh sample illustrates how to load and optimize a file-based mesh using the D3DX mesh utility functions. A progressive mesh is one in which the vertex information is stored internally in a special tree which can be accessed to render the mesh with any given number of vertices. This procedure is fast, so progressive meshes are ideal for level-of-detail scenarios, where objects in the distance are rendered with fewer polygons. For more info on D3DX, refer to the DirectX SDK documentation.]]></description>
<description><![CDATA[The Text3D sample shows how to draw 2D text and 3D text in a 3D scene. This is most useful for display stats, in game menus, etc.]]></description>
<description><![CDATA[The FFConst sample applies raw forces to a force feedback input device, illustrating how a simulator-type application can use force feedback to generate forces computed by a physics engine. You must have a force feedback device connected to your system in order to run the application.]]></description>
<description><![CDATA[The SoundFX sample shows how to use DMOs with DirectSound and how to manipulate effect parameters. It is similar to the DirectMusic AudioFX Sample but does not use an audiopath or any of the DirectMusic interfaces.]]></description>
<description><![CDATA[The Stream Data sample shows how to stream a WAV file to a DirectSound secondary buffer. It is similar to the Play Sound Sample, but adds support for streaming.]]></description>
<description><![CDATA[This sample demonstrates mesh animation with multiple animation sets using HLSL skinning and D3DX's animation controller. It shows how an application can render 3D animation by utilizing D3DX's animation support. D3DX has APIs that handles the loading of the animatable mesh, as well as the blending of multiple animations. The animation controller supports animation tracks for this purpose, and allows transitioning from one animation to another smoothly.]]></description>
<description><![CDATA[DXInstall is an example of how to use DirectXSetup interfaces to install the DirectX subsystem and DirectX drivers. It shows how to use a callback function to present messages and get user input through a custom interface, in this case a simple modeless dialog box.]]></description>
<description><![CDATA[The DxDiagOutput sample shows how to use the DxDiag COM interface by enumerating every child container and enumerating the properties on each child container.]]></description>
<folder>Samples\C++\Misc\DxDiagOutput\</folder>
<exefolder>Samples\C++\Misc\Bin\</exefolder>
<exe>DxDiagOutput.exe</exe>
<screenshot>DxDiagOutput.jpg</screenshot>
<projectfile6>DxDiagOutput.dsw</projectfile6>
<projectfile7>DxDiagOutput.sln</projectfile7>
<install common="false" />
<language>C++</language>
<complexity>100</complexity>
<keywords>
<keyword>DxDiagOutput</keyword>
</keywords>
<dxsubarea />
</sample>
<sample>
<name>getdxver</name>
<dxarea>Miscellaneous</dxarea>
<type>sample</type>
<description><![CDATA[The purpose of this sample is to demonstrate how applications can detect which version of DirectX installed. This sample uses the DxDiag COM interface to determine which version of DirectX is installed. For DirectX versions before DirectX 9 where DxDiag COM interface isn't available, the sample will fallback to comparing DirectX file versions.]]></description>
<folder>Samples\C++\Misc\getdxver\</folder>
<exefolder>Samples\C++\Misc\Bin\</exefolder>
<exe>getdxver.exe</exe>
<screenshot>getdxver.jpg</screenshot>
<projectfile6>getdxver.dsw</projectfile6>
<projectfile7>getdxver.sln</projectfile7>
<install common="false" />
<language>C++</language>
<complexity>190</complexity>
<keywords>
<keyword>getdxver</keyword>
</keywords>
</sample>
<sample>
<name>Tutorial 4: Lights</name>
<dxarea>Direct3D</dxarea>
<dxsubarea>Tutorials</dxsubarea>
<type>tutorial</type>
<description><![CDATA[The Lights tutorial shows how to use dynamic lighting in Direct3D.]]></description>
<description><![CDATA[This sample shows how an ID3DXEffect object can be compiled when the project is built and loaded directly as a binary file at runtime.]]></description>
<description><![CDATA[This series of guided lessons is derived from the HLSL Workshop presented at the Game Developers Conference 2003. The lessons are divided into four .fx files containing near-complete HLSL code, each of which requires the student to add the missing code needed to implement the target graphics techinque for that lesson. This workshop format is intended to give you an opportunity to experiment with the power and flexibility of HLSL with only a minimal knowledge of HLSL syntax. ]]></description>
<description><![CDATA[The sample demonstrates one common technique for rendering real-time shadows called shadow volumes. The shadows in the sample work by extruding faces of the occluding geometry that are facing away from light to form a volume that represents the shadowed area in 3D space and utilizing the stencil buffer of the 3D device. Stencil buffer is a buffer that can be updated as geometry is rendered, and then used as a mask for rendering additional geometry. Common stencil effects include mirrors, shadows (an advanced technique), and dissolves.]]></description>
<description><![CDATA[This sample shows how an ID3DXMesh object can be created from mesh data stored in a Wavefront Object file (
.obj). It's convenient to use X-Files (.x) when working with ID3DXMesh objects since
D3DX can create and fill an ID3DXMesh object directly from an .x file; however, it's also easy to initialize an ID3DXMesh object with data gathered from any file format or memory resource. ]]></description>
<description><![CDATA[This sample shows how to do a motion blur effect using floating point textures and multiple render targets. The first pass renders the scene to the first render target and writes the velocity of each pixel to the second render target. Then it renders a full screen quad and uses a pixel shader to look up the velocity of that pixel and blurs the pixel based on the velocity.]]></description>
<description><![CDATA[This sample mimics a metaball effect in screen space using a pixel shader. True metaball techniques deform meshes according to pushing or pulling modifiers, and are commonly used to model liquid effects like the merging of water droplets; however, metaball effects can be computationally expensive, and this sample shows how to fake a 3D metaball effect in 2D image space using a pixel shader.]]></description>
<description><![CDATA[This sample demonstrates one popular shadow technique called shadow mapping. A shadow map, in the form of a floating-point texture, is written with depth information of the scene as if the camera is looking out from the light. Then, the shadow map is project onto the scene during rendering. The depth values in the scene are compared with those in the shadow map. If they do not match for a particular pixel, then that pixel is in shadow. This approach allows very efficient real-time shadow casting.]]></description>
<description><![CDATA[The DxDiagReport sample shows how to use the DxDiag COM interface by the instantiating a known set child container by name and enumerating the properties on each child container by name and stores this information in predefined structures.]]></description>
<folder>Samples\C++\Misc\DxDiagReport\</folder>
<exefolder>Samples\C++\Misc\Bin\</exefolder>
<exe>DxDiagReport.exe</exe>
<screenshot>DxDiagReport.jpg</screenshot>
<projectfile6>DxDiagReport.dsw</projectfile6>
<projectfile7>DxDiagReport.sln</projectfile7>
<install common="false" />
<language>C++</language>
<complexity>100</complexity>
<keywords>
<keyword>DxDiagOutput</keyword>
</keywords>
</sample>
<sample>
<name>DepthOfField</name>
<dxarea>Direct3D</dxarea>
<dxsubarea>
</dxsubarea>
<type>sample</type>
<description><![CDATA[This sample shows a technique for creating a depth-of-field effect with Direct3D, in which objects are only in focus at a given distance from the camera, and are out of focus at other distances.]]></description>
<description><![CDATA[This sample shows two features in the Direct3D Extension effect framework: parameter blocks and parameter sharing. Parameter blocks group multiple Setxxx() calls and associate them with an effect handle, allowing an application to easily set those parameters contained in the block with a single API call. Parameter sharing lets parameters in multiple effect objects stay synchronized, so that when an application updates a parameter in one effect object, the corresponding parameter in all other effect objects are updated.]]></description>
<description><![CDATA[This sample showcases the user interface features of the Direct3D sample framework. The sample framework provides UI controls that applications can readily use. The supported controls include buttons, radio buttons, check boxes, combo boxes, edit boxes, sliders, and edit boxes with Input Method Editor (IME) functionality.]]></description>
<description><![CDATA[This sample demonstrates cubic environment-mapping with floating-point cube textures and high dynamic range lighting. DirectX 9.0's new floating-point textures can store color values higher than 1.0, which can make lighting effects more realistic on the environment-mapped geometry when the material absorbs part of the light. Note that not all cards support all features for the environment-mapping and high dynamic range lighting techniques.]]></description>
<description><![CDATA[This sample shows some of the effects that can be achieved using vertex shaders written in Microsoft Direct3D's High-Level Shader Language (HLSL). HLSL shaders have C-like syntax and constructs, such as functions, expressions, statements, and data types. A vertex shader looks very similar to a C function, and is executed by the 3D device once per every vertex processed to affect the properties of the vertex. Note that not all cards may support all the various features vertex shaders. For more information on vertex shaders, refer to the DirectX SDK documentation.]]></description>
<description><![CDATA[High dynamic range lighting effects require the ability to work with color values beyond the 0 to 255 range, usually by storing high range color data in textures. Floating point texture formats are the natural choice for HDR applications, but may not be available on all target systems. This sample shows how high dynamic range data can be encoded into integer formats for compatibility across a wide range of devices.]]></description>
<description><![CDATA[The EnhancedMesh sample shows how to use D3DX to load and enhance a mesh. The mesh is enhanced by increasing the vertex count.]]></description>
<description><![CDATA[This document explains how a full-screen application can extends a basic edit control to implement IME functionalities. This will provide detailed guidance for the IME messages that needed to be implemented by your application.]]></description>
<folder>Samples\C++\Misc\Docs\IME\</folder>
<readme>IME.htm</readme>
<screenshot>thumbnail.jpg</screenshot>
<language>
</language>
<complexity>200</complexity>
<keywords>
</keywords>
</sample>
<sample new="true">
<name>Installing and Using Input Method Editors</name>
<dxarea>Miscellaneous</dxarea>
<type>tutorial</type>
<description><![CDATA[This tutorial details the steps necessary to install Input Method Editors (IMEs) for Traditional Chinese, Simplified Chinese, Japanese, and Korean on a Windows XP system and using them to type in a common application, Notepad.]]></description>
<description><![CDATA[This document describes how to temporarily disable Windows keyboard shortcuts to prevent distruption of game play for full screen games. Because SHIFT and CTRL keys are often used as fire or run buttons in games accidentally pressing the Windows Key which is near these keys can cause the user to suddenly jump out of the application, ruining the game experience. Also using the SHIFT key as a game button also can cause the StickyKeys shortcut which by default displays a warning dialog. To avoid these issues, you should disable these keys when running full screen and restore them back to the default when running windowed or shutting down.]]></description>
<description><![CDATA[This sample demonstrates some interesting image-processing effects that can be achieved interactively. Traditionally, image-processing takes a significant amount of processor power on the host CPU, and is usually done offline. With pixel shaders, these effects can now be performed on the 3D hardware more efficiently, allowing them to be applied in real-time.]]></description>
<description>The PIX Plugin Sample shows how to implement a plugin for the PIX for Windows tool, allowing you to define your own counters.</description>
<description><![CDATA[This sample shows how to use the ID3DXFragmentLinker interface. Shader source code can be split into a series of shader fragments, which are compiled separately and linked together to form a complete shader; this linking stage is very efficient, making it suitable for runtime use. In this way a Direct3D application can custom-build an appropriate shader for the current graphics card.
<description><![CDATA[This sample demonstrates how to use ID3DXPRTEngine, a precomputed radiance transfer (PRT) simulator that uses low-order spherical harmonics (SH). The sample also demonstrates how to use these results to accomplish dynamic light transport using a dynamic lighting environment with a vs_1_1 vertex shader.]]></description>
<description><![CDATA[Multisampling attempts to reduce aliasing by mimicking a higher resolution display; multiple sample points are used to determine each pixel's color. This sample shows how the various multisampling techniques supported by your video card affect the scene's rendering. Although multisampling effectively combats aliasing, under particular situations it can introduce visual artifacts of its own. As illustrated by the sample, centroid sampling seeks to eliminate one common type of multisampling artifact. Support for centroid sampling is supported under Pixel Shader 2.0 in the latest version of the DirectX runtime.]]></description>
<folder>Samples\C++\Direct3D\AntiAlias\</folder>
<exefolder>Samples\C++\Direct3D\Bin\</exefolder>
<exe>AntiAlias.exe</exe>
<readme>readme.htm</readme>
<screenshot>AntiAlias.gif</screenshot>
<projectfile6>
</projectfile6>
<projectfile7>AntiAlias.sln</projectfile7>
<install>
</install>
<language>C++</language>
<complexity>500</complexity>
<keywords>
<keyword>Aliasing</keyword>
<keyword>Jaggies</keyword>
<keyword>Multisample</keyword>
<keyword>IDirect3DDevice9</keyword>
<keyword>IDirect3D9</keyword>
</keywords>
</sample>
<sample new="true">
<name>ConfigSystem</name>
<dxarea>Direct3D</dxarea>
<dxsubarea>
</dxsubarea>
<type>sample</type>
<description><![CDATA[The sample is a demonstration of a database-driven application configuration system. Device capabilities exposed by drivers are not always correct or provide acceptable performance. A configuration database stores a list of devices and custom, application-defined overrides to apply for each of the devices. This allows developers to fine-tune what features to use with any device to the greatest extent.]]></description>
<description><![CDATA[This sample demonstrates the use of the Firewall API introduced in Windows XP SP2.]]></description>
<folder>Samples\C++\Misc\Firewall\</folder>
<exefolder>Samples\C++\Misc\Bin\</exefolder>
<exe>Firewall.exe</exe>
<screenshot>Firewall.jpg</screenshot>
<readme>readme.htm</readme>
<projectfile6>Firewall.dsw</projectfile6>
<projectfile7>Firewall.sln</projectfile7>
<install common="false" />
<language>C++</language>
<complexity>100</complexity>
<dxsubarea />
</sample>
<sample new="true">
<name>Instancing</name>
<dxarea>Direct3D</dxarea>
<dxsubarea>
</dxsubarea>
<type>sample</type>
<description><![CDATA[This sample demonstrates the new instancing feature available in DirectX 9.0c and shows alternate ways of achieving results similar to hardware instancing.]]></description>
<description><![CDATA[This sample shows an example implementation of the ID3DXEffectStateManager interface. This inteface can be used to implement custom state-change handling for the D3DX Effects system.]]></description>